package demo1;

import javax.xml.soap.SAAJResult;

//多态其实是一种思想：一个父类引用指向的对象不一样，调用重写的方法 会表现出不同的行为
//1.向上转型 2.重写 3.通过父类引用调用父类和子类的重写的方法
//抽象类：如果这个类不能够表示一个准确的对象
//就是为了被继承 1.需要通过abstract修饰类
abstract class Animal {
    public String name;
    public int age;

    /*public Animal() {

    }*/

    public Animal(String name,int age) {//构造方法
        this.name = name;//调用构造方法就可以进行初始化
        this.age = age;
    }

    public abstract void eat();//抽象方法
}
class Dog extends Animal {
    /*public Dog() {
        super("hhh",10);//帮助父类初始化
    }*/

    public Dog(String name,int age) {
        super(name,age);
    }

    @Override
    public void eat() {//重写抽象方法
        System.out.println(name+"吃狗粮");
    }
}
public class Test {
    public static void main(String[] args) {
        //Animal animal = new Animal;抽象类不能被实例化
        Dog dog = new Dog("yyy",10);
        Dog dog2 = new Dog("hg",10);
    }
}
